This application incorporates by reference Taiwanese application Serial No. 88115692, Filed Sep. 10, 1999
The invention relates in general to a jitter-tolerant signal receiver and a method of designing a jitter-tolerant signal receiver, and more particularly to a jitter-tolerant signal receiver applied in a communication system of two different clock domains.
Communication systems consisting of a transmitter and receiver have a common problem of incompatibility of their respective frequency domains. The system clock of the transmitter differs from that of the receiver in frequency or phase. As a result, a Phase Lock Loop (PLL) is used to recover the clock of the transmitter in the receiver. Therefore, a receiving clock is generated, which has the same frequency but probably different phase as compared to the system clock of the receiver. Thus, the sampling of data and transmission of data signal can be easily performed.
In the receiver, the regular system clock can be obtained by first producing a regular unit clock using crystal oscillation and then directly dividing the resulting regular unit clock. The unit clock is used to lock the incoming data and the system clock is used for clocking logic circuit. However, the receiving clock generated by the PLL often suffers from severe jitters due to clock drift. This jitter in the receiving clock may result in data loss and so the prevention of data loss due to jitter is an important subject nowadays.
Referring to FIG. 1, a block diagram of a traditional signal receiver is illustrated. An input signal VIN is inputted to an input terminal D11 of D flip-flop 102, and a receiving clock RXCLK is inputted to a clock input terminal CK11 of D flip-flop 102. The input signal VIN is sampled at the rising edge of the receiving clock RXCLK and an event signal EVNT of the same logic level as the input signal VIN is outputted from an output terminal Q11 of D flip-flop 102. Next, the event signal EVNT is inputted into an input terminal D12 of D flip-flop 104, and a system clock SCLK is inputted to a clock input terminal CK12 of D flip-flop 104. A sampling event signal SEVNT is then outputted from an output terminal Q12 of D flip-flop 104. These D flip-flops, for example, are of positive edge-triggered.
FIG. 2 is a timing diagram of the signal receiver in FIG. 1. Referring to FIG. 1 and FIG. 2 at the same time, a unit clock UCLK, which can be produced by crystal oscillation, is divided to produce a system clock SCLK. As the receiving clock RXCLK changes from low level to high level, the D-flip-flop 102 transfers the input signal VIN to the event signal EVNT. At t201, for example, the D-flip-flop 102 transfers the high level input signal VIN to the event signal EVNT at the rising edge of the receiving clock RXCLK, which changes from low to high.
Similarly, when a rising edge of the system clock SCLK occurs, the event signal EVNT is transferred to the sampling event signal SEVNT and then the sampling event signal SEVNT holds for a period of the system clock SCLK in the D flip-flop 104. At t202, for example, upon a rising edge of system clock SCLK, the high level event signal EVNT is transferred to the sampling signal SEVNT which is then retained at the same level with the event signal EVNT for a period of system clock SCLK.
Therefore, through the D flip-flop 102, the input signal VIN is transferred to the event signal EVNT which has the same period as the receiving clock RXCLK. After processing the event signal EVNT through the D flip-flop 104, a sampling event signal SEVNT with the same period as the system clock SCLK is obtained.
However, an event, which represents logic 1 of the corresponding signal, can be lost due of the occurrence of jitters in the clock. For example, when a jitter occurs in the receiving clock RXCLK, the event of event signal EVNT may be retained at a high level only for a short moment, say from t204 to t205. As a result, the event of event signal EVNT, which is retained at high level from t204 to t205, can not be sampled at t203 or t206 and can not be transferred to the sampling event signal SEVNT. The event of event signal EVNT is thus lost.
One of traditional methods for solving this problem is to use a signal receiver with four D flip-flops. Referring to FIG. 3, the block diagram of a traditional jitter-tolerant signal receiver is illustrated. First, a receiving signal RXCLK is fed to the clock terminals CK31, CK32, and CK33 of D flip-flop 302, 304, and 306 respectively. Next, an input signal VIN is applied to the input terminal D31, and an event signal EVNT1 is outputted from an output terminal D31 in the D flip-flop 302. The event signal EVNT1 is then fed to the input terminal D32, and an event signal EVNT2 is outputted from the output terminal Q32 in the D flip-flop 304. Following that, the event signal EVNT2 is applied to a input terminal D33, and an event signal EVNT3 is outputted from a output terminal Q33 in D flip-flop 306. Aside from the event signal EVNT3 being inputted to the input terminal D34, a system clock SCLK is fed to the clock terminal CK34 in the D flip-flop 308 simultaneously. Finally, the output terminal Q34 of the D flip-flop 308 outputs a sampling event signal SEVNT that is transferred from the input signal VIN.
FIG. 4 is the timing diagram of the traditional jitter-tolerant signal receiver in FIG. 3. Referring to FIG. 3 and FIG. 4 at the same time, at t401, the input signal VIN of high level is transferred to the event signal EVNT1 which retains it in high level for the period of receiving signal RXCLK in the D flip-flop 302. Due to a jitter in the receiving clock RXCLK starting at t403, the event signal EVNT1 can only be sustained in high level for the period of the jitter. In D flip-flop 304 and 306, the event signal EVNT2 is retained in low level and the event signal EVNT3 is retained in high level only for the period of the jitter.
However, at t403, the period of the event of event signal EVNT3 is too short to be sampled by the D flip-flop 308 at the adjacent positive edge of t402 and t4O4. So the event is lost when transferred to the sampling event signal SEVNT in D flip-flop 308.
Another method of solving this problem is to add an OR gate to avoid missing signals in FIG. 3. Referring to FIG. 5, which is a block diagram of another traditional jitter-tolerant receiver, the event signal EVNT2 and event signal EVNT3 are fed to an OR gate 510 and an OR signal (OREVNT) is then outputted from the OR gate 510 and applied to an input terminal D34 in the D flip-flop 308.
The timing diagram of the traditional jitter-tolerant receiver in FIG. 5 is illustrated in FIG. 6. The OR signal OREVNT results from an OR operation on the event signals ENVN2 and EVNT3. However, if the events in input signal VIN are too close to each other, the events transferred from the input signal VIN to OR signal OREVNT might be indistinguishable. An example is diagrammed in FIG. 6; after t601, the OR signal OREVNT is in high level for more than ten periods of unit clock UCLK. Similarly, the sampling event signal SEVNT is in high level after t602. Two events in the input signal VIN are combined to one event in the sampling event signal SEVNT and indistinguishable from each other. Consequently, more complicated circuit is needed to handle this type of situations. If the jitter becomes more severe or a receiving clock RXCLK of lower frequency is used, the logic circuit needed would be more difficult to be designed.
It is therefore an object of the invention to provide a jitter-tolerant signal receiver and a method of designing a jitter-tolerant signal receiver, requiring only three D flip-flops. Thus, the jitter can be eliminated and data transmitting and receiving can be accomplished accurately. The number of components in the invention is few and simple circuits achieve the goal with good performance.
The invention achieves the above-identified objects by providing a jitter-tolerant signal receiver, for receiving an input signal of a first clock domain and outputting a sampling event signal of a second clock domain in a communication system. The jitter-tolerant signal receiver includes a first D flip-flop, a second D flip-flop, and a third D flip-flop. The first D flip-flop receives the input signal at a first input terminal and a first clock signal at a first clock terminal and outputs a first event signal at a first output terminal. The second D flip-flop receives a high level signal at a second input terminal and the first event signal at a second clock terminal and outputs a second event signal at a second output terminal. The third D flip-flop for receives the second event signal at a third input terminal and a second clock of the second domain at a third clock terminal, and outputs the sampling event signal at a third output terminal. Beside that, the second D flip-flop further includes a reset terminal for receiving the sampling event signal.
It is another object of the invention to provide a method of designing a jitter-tolerant signal receiver, for receiving an input signal of a first clock domain and outputting a sampling event signal of a second clock domain. The method of designing includes the following steps. First, the input signal is inputted to a first D flip-flop which is clocked by a first clock of the first clock domain. When the first clock changes from a first level to a second level, the input signal is transferred to a first signal which is outputted from the first D flip-flop. Second, a second signal of the first level is inputted to a second D flip-flop which is clocked by the first signal. When the first signal changes from the first level to the second level, the second signal is transferred to a third signal which is outputted from the second D flip-flop. Third, the third signal is inputted to a third D flip-flop which is clocked by a second clock of the second clock domain. When the second clock changes from the first level to the second level, the third signal is transferred to the sampling event signal which is outputted from the third D flip-flop. Finally, the sampling event signal is inputted to a reset terminal of the second D flip-flop. When the sampling event signal is of the first level, the third signal changes to the second level.